/**
 * @description 全局路由守卫
 */
import { jumpToLogin } from '@/utils/utils'

export default defineNuxtRouteMiddleware((to) => {
  const routeMeta = useRouteMeta()
  const { getToken, getUid } = useAuth()

  if (to.meta.needAuth && (!getToken() || !getUid())) {
    // 需要授权的页面验证是否登录
    jumpToLogin()
    return abortNavigation()
  }

  // 记录当前要访问页面的元信息（必须置于鉴权逻辑之后）
  routeMeta.value = to.meta || {}
})
